The present invention relates to debugging hardware and/or software components.
A key issue in real time computing systems is the ability to identify errors in the software and/or hardware components of the system. When the computing environment is integrated on a silicon chip, providing sufficient system observability to enable the catching of software and/or hardware errors during runtime can be very complex and costly. (Observability is a measure of to what extent the various states in a system can be ascertained, either through direct observation or by means of inference.) The result of this complexity and cost is a system with only limited observability, and hence limited ability to identify runtime errors. Even when an error is detected, it is often difficult in conventional systems to configure the system in a way that enables the capture of the root cause of the error.
The problem is even more profound when the system to be debugged/tested comprises a number of independently operating units that are able to communicate with one another and perform tasks in an interactive way, such that some parts of a task are performed by one unit, and one or more other parts of the task are performed by one or more other units.
It is therefore desirable to provide improved debugging apparatuses and methods that improve upon existing technology.